package com.example.project.projectspringcloud.entity.order;

import com.example.project.projectspringcloud.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

@Data
@EqualsAndHashCode(callSuper = false)
public class OrderReceipt extends BaseEntity {

    /**
     * 对应订单
     */
    @NotNull(message = "对应订单号不能为空")
    private Integer order;

    /**
     * 发票类型 1. 纸质 2. 电子
     */
    @NotNull(message = "发票类型不能为空")
    private Integer type;

    /**
     * 抬头类型 1. 个人 2. 单位
     */
    private Integer titleType;

    /**
     * 抬头
     */
    @NotNull(message = "发票抬头不能为空")
    private Integer title;

    /**
     * 抬头名称
     */
    private String unitName;

    /**
     * 发票内容
     */
    private String content;

    /**
     * 地址/电话
     */
    private String address;

    /**
     * 开户银行
     */
    private String bank;

    /**
     * 银行账号
     */
    private String bankAccount;

    /**
     * 备注
     */
    private String remark;

    /**
     * 发票价格
     */
    private BigDecimal price;

    /**
     * 联系电话
     */
    @NotNull(message = "联系电话不能为空")
    private String contactPhone;

    /**
     * 联系邮箱
     */
    private String contactEmail;

    /**
     * 邮寄地址
     */
    private Integer postAddress;

    /**
     * 邮寄街道
     */
    private String postStreet;

    /**
     * 收票人姓名
     */
    @NotNull(message = "收票人姓名不能为空")
    private String receiveName;

    /**
     * 税号
     */
    @NotNull(message = "税号不能为空")
    private String dutyNo;

    /**
     * 发票状态
     */
    private Integer status;

    public OrderReceipt () {

    }

    public OrderReceipt(Integer id) {
        setId(id);
    }
}